/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package persistencia;

import java.sql.Connection;
import java.util.Collection;
import modelo.Proveedor;

/**
 *
 * @author Felipe
 */
public class ProveedorBean {

    private ProveedorDAO dao;

    public ProveedorBean(Connection conexion) {

        dao = new ProveedorDAO();
        dao.setConexion(conexion);

    }

    public int insertar(Proveedor prod) {
        int exito = -1;
        Proveedor pr = dao.buscarPorNombre(prod.getNombreProveedor());

        if (pr != null) {

            if (pr.getRutProveedor() != prod.getRutProveedor()) {
                exito = -1;
                return exito;
            }
        }
        exito = dao.insertar(prod);
        return exito;
    }

    public Collection<Proveedor> buscarTodos() {
    Collection<Proveedor> produ = dao.buscarTodos();

        return produ;
    }

    public Proveedor buscarPorCodigo(int codigo) {
        
        Proveedor produ;
        produ = dao.buscarPorCodigo(codigo);
        return produ;
    }

    public int eliminar(int codigo,boolean estado) {
     int exito = 1;
        Proveedor prove = dao.buscarPorCodigo(codigo);
        if (prove != null) {
            dao.eliminar(codigo,estado);
            exito = 0;
        }
        return exito;    
    }

    public int modificar(Proveedor prov) {
        int exito = 0;
        Proveedor registro = dao.buscarPorNombre(prov.getNombreProveedor());
        if (registro != null) {
            if (prov.getRutProveedor() != registro.getRutProveedor()) {
                exito = 2;
                return exito;
            }

        }
         exito =  dao.modificar(prov);
        return exito;
    }
     public Proveedor buscarPorNombre(String nombre) {
        Proveedor prov;
        prov = dao.buscarPorNombre(nombre);
        return prov;
    }

    public Collection<Proveedor> buscarPorParteNombre(String nombre) {

        Collection<Proveedor> prov = dao.buscarPorParteNombre(nombre);

        return prov;
    }
    public Collection<Proveedor> buscarPorParteCodigo(int parte) {
        Collection<Proveedor> prod = dao.buscarPorParteCodigo(parte);

        return prod;
    }
}
